function msg_client_sync(playerid, msg)
    local next = myturn + 1
    if msg.turn < myturn - 5 then
        return
    end
    recv[msg.turn] = recv[msg.turn] or {}
    if recv[msg.turn][playerid] then
        return
    end
    recv[msg.turn][playerid] = true
    ops = frames[next][playerid]
    ops = append(ops, msg.ops)
end